\documentclass{beamer}
\usepackage[french]{babel}
\usepackage[latin1]{inputenc}
\usepackage{xcolor}
\usetheme{Singapore}
%\usetheme{progressbar}
\usepackage[eurosym]{eurofont}
%  \setbeamercolor{normal text}{fg=red,bg=blue}
\usepackage{multimedia}
\usepackage{listings}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{listings}

\newcommand{\super}[1]{\ensuremath{^{\textrm{#1}}}}
\newcommand{\sub}[1]{\ensuremath{_{\textrm{#1}}}}

\lstset{ %
language=C++,                % choose the language of the code
basicstyle=\footnotesize,       % the size of the fonts that are used for the code
%framexrightmargin=3mm,
%numbers=right,                   % where to put the line-numbers
numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
stepnumber=2,                   % the step between two line-numbers. If it's 1 each line 
                                % will be numbered
numbersep=5pt,                  % how far the line-numbers are from the code
backgroundcolor=,  % choose the background color. You must add 
showspaces=false,               % show spaces adding particular underscores
showstringspaces=false,         % underline spaces within strings
showtabs=false,                 % show tabs within strings adding particular underscores
frame=single,                   % adds a frame around the code
tabsize=2,                      % sets default tabsize to 2 spaces
captionpos=b,                   % sets the caption-position to bottom
breaklines=true,                % sets automatic line breaking
breakatwhitespace=false,        % sets if automatic breaks should only happen at whitespace
title=\lstname,                 % show the filename of files included with \lstinputlisting;
                                % also try caption instead of title
escapeinside={\%*}{*)},         % if you want to add a comment within your code
morekeywords={*,...}            % if you want to add more keywords to the set
}

%Nos de pages en bas a gauche
\addtobeamertemplate{footline}{\hfill\insertframenumber/\inserttotalframenumber\hspace{2em}\vspace{1em}\null}

% couleurs
\definecolor{Bblue}{rgb}{0.0,0.0,0.6}
\definecolor{Bred}{rgb}{0.5,0.0,0.0}
\definecolor{myblue}{rgb}{0.0,0.4,1} 

% cbold : passe du texte en couleur et en gras
\newcommand{\cbold}[2]{\textbf{\textcolor{#1}{#2}}}
% imp : met un texte en gras/bleu
\newcommand{\imp}[1]{\cbold{Bblue}{#1}}
% vimp : met un texte en gras/rouge
\newcommand{\vimp}[1]{\cbold{Bred}{#1}}
% iis : laisse un espace vertical simulant un double interligne
\newcommand{\iis}[0]{\vspace{5pt}}


\begin{document}

	\title{\textbf{The Turtles Project: Design and Implementation of Nested Virtualization}\\OSDI 2010}
	\author{\textit{written by}\\ \textbf{M. Ben-Yehuda et al.} \\\textit{presented by}\\ \textbf{Si-Mohamed Lamraoui\\ Liviu Varga}} 
	\institute[UJF]{UFR IM$^{2}$AG}
	\logo{\includegraphics[width=1cm]{images/ujf_neu.jpg}}
	\date{\tiny version 1.0} 
	
	\setbeamertemplate{navigation symbols}{}
	\setcounter{tocdepth}{1}
	
	
	% ======================================================
	{
	%\setbeamertemplate{footline}[default]
	\begin{frame}
	\titlepage
	\end{frame}
	
	
	% ======================================================
	\logo{\includegraphics[width=1cm]{images/ujf_neu.jpg}}
	%\begin{frame}
	%\frametitle{Plan}
	%\tableofcontents
	%\end{frame}
	}
	\logo{\includegraphics[width=1cm]{images/ujf_neu.jpg}}
	\addtocounter{framenumber}{-1}


	
		
	\section{Introduction}
	% ======================================================
	\begin{frame}{Nested virtualisation}
		
	\begin{center}
	\includegraphics[width=200px]{images/classic.pdf}
	\end{center}
	\center \textbf{Classic} Type 1 virtualization

	\end{frame}
	
	% -------------------------------------------------------------------
	\begin{frame}{Nested virtualisation}
		
	\begin{center}
	\includegraphics[width=200px]{images/nested.pdf}
	\end{center}
	\center \textbf{Nested} virtualization

	\end{frame}
	
	% ======================================================
	\begin{frame}{Why nested virtualization?}
	\begin{itemize}
	\item Hypervisors embedded in firmware \pause
	\item Manage own virtual machines with the preferred hypervisor \pause
	\item Live migration \pause
	\item Security \pause
	\item Testing, demonstrating, benchmarking and debugging of hypervisors and virtualization setup
	\end{itemize}

	\end{frame}

	\section{Related Work}
	% ======================================================
	\begin{frame}{Related Work}
	
	\begin{columns}
	\begin{column}[1]{4cm}
	\begin{itemize}
	\item IBM: z/VM
	\item KVM
	\item Xen
	\item ScaleMP vSMP
	\end{itemize}
	\end{column}
	
	\begin{column}[1]{5cm}
	\includegraphics[width=0.5\textwidth]{images/zvm.png}
	
	\includegraphics[width=0.5\textwidth]{images/kvm.png}
	
	\includegraphics[width=0.5\textwidth]{images/xen.png}
	
	\includegraphics[width=0.5\textwidth]{images/scalemp.jpg}
	\end{column}
	\end{columns}
	
	\end{frame}
		
	\section{Turtles: Design and Implementation}
	% -------------------------------------------------------------------
	\begin{frame}{Theory of operation}
		
		\begin{figure}[h!]		
		\centering
			\includegraphics[width=1\textwidth]{images/multiplexing.pdf}
		\caption{Multiplexing multiple levels of virtualization on a single hardware-provided level of support}
		\end{figure}
		
	\end{frame}


	% ======================================================
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center Intel and AMD's \imp{CPU} virtualization extension (\vimp{VMX})
		\vfill
	
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}

		\begin{itemize}
			\item \textbf{New instructions running in special modes}
			\item Special in-memory VM control structure (VMCS)
		\end{itemize}

  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
	
		\begin{center}
		\includegraphics[width=150px]{images/cpu-modes.pdf}
		\end{center}

   		\end{minipage}
		\end{figure}

	\end{frame}



	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center Intel and AMD's \imp{CPU} virtualization extension (\vimp{VMX})
		\vfill
	
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}

		\begin{itemize}
			\item New instructions running in special modes
			\item \textbf{Special in-memory VM control structure (VMCS)}
		\end{itemize}

  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
	
		\begin{center}
		\includegraphics[width=150px]{images/vmcs.pdf}
		\end{center}

   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item 
			\item 
			\item 
			\item 
			\item 
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=170px]{images/ex-vmx0.pdf}
		\end{column}
		\end{columns}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item \textbf{L1 uses VMX instructions to load and launch L2 guests}
			\item 
			\item 
			\item 
			\item 
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=170px]{images/ex-vmx1.pdf}
		\end{column}
		\end{columns}
		\addtocounter{framenumber}{-1}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item L1 uses VMX instructions to load and launch L2 guests
			\item \textbf{Trap to L0}
			\item 
			\item 
			\item
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=170px]{images/ex-vmx2.pdf}
		\end{column}
		\end{columns}
		\addtocounter{framenumber}{-1}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item L1 uses VMX instructions to load and launch L2 guests
			\item  Trap to L0
			\item \textbf{L0 emulates the VMX instructions}
			\item
			\item 
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=195px]{images/ex-vmx3.pdf}
		\end{column}
		\end{columns}
		\addtocounter{framenumber}{-1}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item L1 uses VMX instructions to load and launch L2 guests
			\item  Trap to L0
			\item L0 emulates the VMX instructions
			\item \textbf{L0 updates VMCS structures}
			\item 
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=195px]{images/ex-vmx4.pdf}
		\end{column}
		\end{columns}
		\addtocounter{framenumber}{-1}

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{CPU: Nested VMX Virtualization}

		\center VMX Trap and Emulate : Launching a new guest OS
		\vfill	
		\begin{columns}
		\begin{column}[1]{4cm}
		\small \begin{enumerate}
			\item L1 uses VMX instructions to load and launch L2 guests
			\item Trap to L0
			\item L0 emulates the VMX instructions
			\item L0 updates VMCS structures
			\item \textbf{L0 resumes L1}
		\end{enumerate}
		\end{column}
		\begin{column}[1]{7cm}
		\includegraphics[width=210px]{images/ex-vmx5.pdf}
		\end{column}
		\end{columns}
		\addtocounter{framenumber}{-1}

	\end{frame}



	% -------------------------------------------------------------------
	\begin{frame}{MMU: Multi-dimensional Paging}

	\begin{itemize}
	\item Virtualizing the MMU: entirely in software or assisted by hardware
	\item Software: the technique is called \textit{shadow page table}
	\item Hardware: Extended Page Table (EPT), or NPT (AMD)
	\pause
	\item Three alternatives for nested virtualization:
	\begin{enumerate}
	\item Shadow-on-shadow
	\item Shadow-on-EPT
	\item Multi-dimensional paging
	\end{enumerate}
	\end{itemize}
	\end{frame}
		%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-shadow
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SS1.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
	%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-shadow
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SS2.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 creates SPT$_{0\rightarrow 1}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-shadow
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SS3.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 creates SPT$_{0\rightarrow 1}$
			\item L1 creates SPT$_{1\rightarrow 2}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-shadow
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SS4.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 creates SPT$_{0\rightarrow 1}$
			\item L1 creates SPT$_{1\rightarrow 2}$
			\item L2 compresses SPT$_{0\rightarrow 1}$ and SPT$_{1\rightarrow 2}$ into SPT$_{0\rightarrow 2}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}

%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SE1.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SE2.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 uses EPT$_{0\rightarrow 1}$			
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center Shadow-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SE3.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 uses EPT$_{0\rightarrow 1}$
			\item L1 uses SPT$_{1\rightarrow 2}$ to run L2
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center EPT-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_SS1.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center EPT-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_EE1.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
		\item L0 runs L1 using EPT$_{0\rightarrow 1}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center EPT-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_EE2.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
		\item L0 runs L1 using EPT$_{0\rightarrow 1}$
		\item L1 runs L2 using EPT$_{1\rightarrow 2}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	\addtocounter{framenumber}{-1}
%-------------------------------------------------------------------
	\begin{frame}[containsverbatim]{MMU: Multi-dimensional Paging}
		\center EPT-on-EPT
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/mmu_EE3.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
		\item L0 runs L1 using EPT$_{0\rightarrow 1}$
		\item L1 runs L2 using EPT$_{1\rightarrow 2}$
		\item L0 compresses the two tables into EPT$_{0\rightarrow 2}$
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}

	\begin{center}
	\includegraphics[width=230px]{images/iommu.pdf}\\
	\vfill
	IOMMU : \textbf{I}nput/\textbf{O}utput \textbf{M}emory \textbf{M}anagement \textbf{U}nit 
	\vfill \vfill
	\end{center}
	\begin{alertblock}{Problem}
	Only support a single level of address translation.
	\end{alertblock}	
	\begin{exampleblock}{Solution}
	Compress two levels of translation tables onto the one level available in hardware.
	\end{exampleblock}	

	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul0.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item 
			\item 
			\item 
			\item 
			\item 
		\end{enumerate}
   		\end{minipage}
		\end{figure}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul1.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 emulates an IOMMU for L1
			\item 
			\item 
			\item 
			\item 
		\end{enumerate}
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul2.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 emulates an IOMMU for L1
			\item L1 sets up mappings from L2 to L1 addresses
			\item 
			\item 
			\item 
		\end{enumerate}
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul3.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 emulates an IOMMU for L1
			\item L1 sets up mappings from L2 to L1 addresses
			\item L0 intercepts these mappings
			\item 
			\item 
		\end{enumerate}
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul4.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 emulates an IOMMU for L1
			\item L1 sets up mappings from L2 to L1 addresses
			\item L0 intercepts these mappings
			\item L0 remaps the L1 addresses to L0 addresses
			\item 
		\end{enumerate}
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul5.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\begin{enumerate}
			\item L0 emulates an IOMMU for L1
			\item L1 sets up mappings from L2 to L1 addresses
			\item L0 intercepts these mappings
			\item L0 remaps the L1 addresses to L0 addresses
			\item L0 builts the L2-to-L0 map on the real IOMMU
		\end{enumerate}
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}
	% -------------------------------------------------------------------
	\begin{frame}[containsverbatim]{I/O: Multi-level Device Assignment}
		\begin{figure}
   		\begin{minipage}[c]{.46\linewidth}
		\begin{center}
		\includegraphics[width=160px]{images/iommu-emul6.pdf}
		\end{center}
  	 	\end{minipage} \hfill
   		\begin{minipage}[c]{.46\linewidth}
		\center \huge \textbf{Tadaaaaaaaa!} $\backslash$o/
   		\end{minipage}
		\end{figure}
		\addtocounter{framenumber}{-1}
	\end{frame}

	% -------------------------------------------------------------------
	\begin{frame}{Micro Optimizations}

	There are 2 main bottlenecks which can be improved:

	\begin{enumerate}
	\pause
	\item Transitions between L\sub{1} and L\sub{2}
	\begin{itemize}
	\item copy data between VMCS's only if relevant values were modified
	\item copy multiple VMCS fields at once (it's not recommended by Intel)
	\end{itemize}	
	\pause
	\item Exit handling in L\sub{1}
	\begin{itemize}
	\item additional exits caused by the privileged instructions vmread and vmwrite
	\item avoid trapping by using binary translation
	\item L\sub{1} modified to directly read/write VMCS$_{1\rightarrow 2}$ (\textit{DRW})
	\end{itemize}
	\end{enumerate}
	\end{frame}

	\section{Evalution with KVM}
	% ======================================================
	\begin{frame}{Worst-case Micro Workload}
	
	\begin{columns}
	\begin{column}[1]{7cm}
	\begin{figure}[!h]
	\centering
	\includegraphics[width=230px]{images/figure10.pdf}
	\caption{CPU cycle distribution for \texttt{cpuid}}
	\end{figure}
	\end{column}
	\begin{column}[1]{4cm}
	\begin{itemize}
	\item (3) Optimizing transition between L1 and L2
	\item (4) Optimizing exit handling in L1
	\item (5) Optimizing transition between L1 and L2 \& exit handling in L1
	\end{itemize}
	\end{column}
	\end{columns}

	\end{frame}


	% -------------------------------------------------------------------
	\begin{frame}{I/O Intensive Workloads}
	
	\begin{center}
	\begin{figure}[!h]
	\centering
	\includegraphics[width=250px]{images/firgure7.pdf}
	\caption{Performance of \textit{netperf} in various setups}
	\end{figure}
	\end{center}

	\end{frame}



	% -------------------------------------------------------------------
	\begin{frame}{Impact of multi-dimensional paging}

	\includegraphics[width=1\textwidth]{images/mmu_impact.pdf}

	\end{frame}


	\section{Conclusion}
	% ======================================================
	\begin{frame}{Conclusion}

	\begin{itemize}
	\item Hypervisors running as a guest
	\item Overhead due to hardware architecture
	\item Opens new frontiers in areas such as security, cloud computing and architectural research
	\item Micro optimizations not tested on AMD
	\end{itemize}

	\end{frame}


	% -------------------------------------------------------------------
	\begin{frame}

		\begin{center}
			\includegraphics[height=1.5cm]{images/brique2.PNG}
			\begin{LARGE}
			\textbf{\\Thank you\\Questions ?}
			\end{LARGE}
		\end{center}
	\end{frame}





\end{document}
